package LeetCode;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;

public class No03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        System.out.println(lengthOfLongestSubstring(s));
    }
    public static int lengthOfLongestSubstring(String s) {
        int len = 0;
        HashMap<Character,Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            map.clear();
            map.put(s.charAt(i),i);
            for (int j = i+1; j <s.length(); j++) {
                if(map.containsKey(s.charAt(j))){
                    len = Math.max(len,map.size());
                    i=map.get(s.charAt(j));
                    map.clear();
                    break;
                }else map.put(s.charAt(j),j);
            }
            len=Math.max(len,map.size());
        }
        return len;

        //枚举暴力超时
//        int len = 0;
//        HashMap<Character,Integer> map = new HashMap<>();
//        for (int i = 0; i < s.length(); i++) {
//            map.clear();
//            map.put(s.charAt(i),i);
//            for (int j = i+1; j <s.length(); j++) {
//                if(map.containsKey(s.charAt(j))){
//                    //System.out.println(s.charAt(j));
//                    len = Math.max(len,map.size());
//                    map.clear();
//                }else map.put(s.charAt(j),j);
//            }
//            len=Math.max(len,map.size());
//        }
//        return len;
    }
}
